//#ifndef PROJECTZ_NUSER_NCOMMAND_CMD_CS_REQ_QUEST_DATA_H_
//#define PROJECTZ_NUSER_NCOMMAND_CMD_CS_REQ_QUEST_DATA_H_
//
//#include "../../engine.h"
//
//#include "../../User.h"
//#include "../../Data.h"
//#include "../../game/game.h"
//#include "../../game/CTitle.h"
//
//#include "../../NLogic/QuestInfo.h"
//
//namespace ProjectZ { namespace NCommand { namespace NWorld {
//
//class CS_REQ_QUEST_DATA
//{
//public:
//	static void OnExecute(User * pUser, ::Network::Packet * pPacket)
//	{
//
//		/*
//		 * CS_REQ_QUEST_DATA	0x2000			/// 퀘스트 데이터 받음
//			{
//
//			}
//
//			SC_REQ_QUEST_DATA	0x2001			/// 퀘스트 데이터 받음
//			{
//
//				u8 cont;
//				State [MAX : TOTAL_QUEST_COUNT = 500] /// 500까지 할지 결정 해야됨
//				{
//					u16 		u16_tid;	// QUEST_ID
//					//s8    		s8_state; // 필요하지 않아 제거함.
//				}
//
//				u8 cont;
//				Quest [MAX : 12] : 내가 가지고 있는 퀘스트
//				{
//				u8		    u8_idx;			/// index
//					u16                 u16_tid;			/// QUEST_ID
//					u8                  u8_achieve;         	/// 달성카운트
//				}
//			}
//
//		 */
//
//		STRESSLOG("[CHANNEL] CS_REQ_QUEST_DATA::ONEXECUTE");
//
//		PREPARE_PACKET;
//
//		::Network::Packet * pQuestInfoAck = ::Network::GETPACKETPOOL()->SEND_NEW();
//		uint8_t count = pUser->GetQuestHistoryCount();
//		if (0 == count)
//		{
//			// DB Query
//			NLogic::QuestInfo::QuestHistoryLoadFromDatabase(pUser);
//		}
//		count = pUser->GetQuestHistoryCount();
//
//		* pQuestInfoAck << count;
//
//		auto var = pUser->GetQuestHistoryVector().begin();
//		for (; var != pUser->GetQuestHistoryVector().end(); ++ var)
//		{
//			// packet build and send
//			* pQuestInfoAck << static_cast<uint16_t>( * var );
//		}
//
//		count = pUser->GetQuestInfoCount();
//		if (0 == count)
//		{
//			// DB Query
//			NLogic::QuestInfo::QuestLoadFromDatabase(pUser);
//		}
//		count = pUser->GetQuestInfoCount();
//
//		* pQuestInfoAck << count;
//
//		auto var2 = pUser->GetQuestTree().begin();
//		for (; var2 != pUser->GetQuestTree().end(); ++ var2)
//		{
//			// packet build and send
//			NLogic::QuestInfo::Data & data = var2->second->GetData();
//			* pQuestInfoAck << static_cast<uint8_t>(data._idx) << static_cast<uint16_t>(data._questID) << static_cast<uint8_t>(data._achieve);
//		}
//		pQuestInfoAck->MakePacket(CMD_SC_REQ_QUEST_DATA);
//		pUser->Send(pQuestInfoAck);
//	}
//
//};
//
//} /*NWorld*/ } /*NCommand*/ } /*ProjectZ*/
//
//
//#endif /* PROJECTZ_NUSER_NCOMMAND_CMD_CS_REQ_QUEST_DATA_H_ */
